<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
MazeModel
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="MazeModel";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MazeModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../maze/model/MazeInfoModel.html" title="class in maze.model"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../index.html?maze/model/MazeModel.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="MazeModel.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
maze.model</FONT>
<BR>
Class MazeModel</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../resources/inherit.gif" ALT="extended by "><A HREF="../../maze/util/ListenerSubject.html" title="class in maze.util">maze.util.ListenerSubject</A>&lt;<A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A>&gt;
      <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>maze.model.MazeModel</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.lang.Cloneable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public final class <A HREF="../../src-html/maze/model/MazeModel.html#line.29"><B>MazeModel</B></A><DT>extends <A HREF="../../maze/util/ListenerSubject.html" title="class in maze.util">ListenerSubject</A>&lt;<A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A>&gt;<DT>implements java.lang.Cloneable, java.io.Serializable</DL>
</PRE>

<P>
Represents all the walls of a This class extends
 <A HREF="../../maze/util/ListenerSubject.html" title="class in maze.util"><CODE>ListenerSubject</CODE></A> which allows it to notify listeners when a
 wall changes and provide the <A HREF="../../maze/model/MazeCell.html" title="class in maze.model"><CODE>MazeCell</CODE></A> that contains the
 changed wall.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#maze.model.MazeModel">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;interface</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model">MazeModel.MazeWall</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>MazeWall</code> object represents the model for a single wall in a
 maze.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.BitSet</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#cwalls">cwalls</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Column walls.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#DEFAULT_SIZE">DEFAULT_SIZE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A maze is generally 16 x 16</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#EAST">EAST</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#height">height</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of rows or height of this maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#NORTH">NORTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.BitSet</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#rwalls">rwalls</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Row walls.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#SOUTH">SOUTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#WEST">WEST</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#width">width</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of columns or width of this maze.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#MazeModel()">MazeModel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a maze with the default size.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#MazeModel(int, int)">MazeModel</A></B>(int&nbsp;width,
                   int&nbsp;height)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a new maze model with the given dimensions.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#clearCenterWalls()">clearCenterWalls</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the 4 walls around the center peg as is required by the rules for a
 legal maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#clearMaze()">clearMaze</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear all the walls of the maze and set the default corner wall.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#clearWall(int, int, int)">clearWall</A></B>(int&nbsp;x,
                   int&nbsp;y,
                   int&nbsp;dir)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear/disable a wall segment.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../maze/model/MazeModel.html" title="class in maze.model">MazeModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make a deep copy of this maze model.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#generateRandomMaze()">generateRandomMaze</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Randomizes all the walls of this maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#getSize()">getSize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the size or dimension of this maze in columns by rows.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#getStartingCell()">getStartingCell</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the location of where the robot starts in the maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#getWall(int, int, int)">getWall</A></B>(int&nbsp;x,
               int&nbsp;y,
               int&nbsp;dir)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is the wall set/enabled.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model">MazeModel.MazeWall</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#getWall(maze.model.MazeCell, maze.model.Direction)">getWall</A></B>(<A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A>&nbsp;cell,
               <A HREF="../../maze/model/Direction.html" title="enum in maze.model">Direction</A>&nbsp;direction)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an object that can then be checked or changed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.List&lt;<A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model">MazeModel.MazeWall</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#getWinningBorderWalls()">getWinningBorderWalls</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the line of walls that surround the center.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#getWinningCells()">getWinningCells</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the maze cells that make up the winning center of the maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Set&lt;<A HREF="../../maze/model/MazeCellPeg.html" title="class in maze.model">MazeCellPeg</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#illegalPegs()">illegalPegs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This function is basically isLegal with the added capability of returning
 the peg locations that are bad.<br />
 There are rules that must be upheld to be a valid maze.<br />
 Rule 1: There is a wall next to the starting square.<br />
 Rule 2: There is one and only one way into the center of the maze.<br />
 Even though I've coded this to accept a variable size in the future I
 shall still assume here that the total size will always be even.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#isCenterLegal()">isCenterLegal</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is the peg in the center of the maze legal.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#isCenterOpen()">isCenterOpen</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is there a way in to the maze center.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#isLegal()">isLegal</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this a legal maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#isPegLegal(int, int)">isPegLegal</A></B>(int&nbsp;x,
                     int&nbsp;y)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The peg is legal if at least one wall is attached to it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#loadMaze(java.io.InputStream, boolean)">loadMaze</A></B>(java.io.InputStream&nbsp;in,
                 boolean&nbsp;extended)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#loadMaze(java.lang.String)">loadMaze</A></B>(java.lang.String&nbsp;filename)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#saveMaze(java.lang.String, java.lang.String)">saveMaze</A></B>(java.lang.String&nbsp;filename,
                 java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#setAllWalls()">setAllWalls</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set/Enable every wall in the maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#setSize(java.awt.Dimension)">setSize</A></B>(java.awt.Dimension&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the size dimensions of this maze.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../maze/model/MazeModel.html#setWall(int, int, int)">setWall</A></B>(int&nbsp;x,
               int&nbsp;y,
               int&nbsp;dir)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_maze.util.ListenerSubject"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class maze.util.<A HREF="../../maze/util/ListenerSubject.html" title="class in maze.util">ListenerSubject</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../maze/util/ListenerSubject.html#addDelayedListener(maze.util.Listener)">addDelayedListener</A>, <A HREF="../../maze/util/ListenerSubject.html#addListener(maze.util.Listener)">addListener</A>, <A HREF="../../maze/util/ListenerSubject.html#notifyListeners(T)">notifyListeners</A>, <A HREF="../../maze/util/ListenerSubject.html#removeAllListeners()">removeAllListeners</A>, <A HREF="../../maze/util/ListenerSubject.html#removeListener(maze.util.Listener)">removeListener</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="DEFAULT_SIZE"><!-- --></A><H3>
DEFAULT_SIZE</H3>
<PRE>
private static final int <A HREF="../../src-html/maze/model/MazeModel.html#line.46"><B>DEFAULT_SIZE</B></A></PRE>
<DL>
<DD>A maze is generally 16 x 16
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#maze.model.MazeModel.DEFAULT_SIZE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="EAST"><!-- --></A><H3>
EAST</H3>
<PRE>
public static final int <A HREF="../../src-html/maze/model/MazeModel.html#line.48"><B>EAST</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#maze.model.MazeModel.EAST">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="NORTH"><!-- --></A><H3>
NORTH</H3>
<PRE>
public static final int <A HREF="../../src-html/maze/model/MazeModel.html#line.49"><B>NORTH</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#maze.model.MazeModel.NORTH">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="SOUTH"><!-- --></A><H3>
SOUTH</H3>
<PRE>
public static final int <A HREF="../../src-html/maze/model/MazeModel.html#line.50"><B>SOUTH</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#maze.model.MazeModel.SOUTH">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="WEST"><!-- --></A><H3>
WEST</H3>
<PRE>
public static final int <A HREF="../../src-html/maze/model/MazeModel.html#line.51"><B>WEST</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#maze.model.MazeModel.WEST">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="cwalls"><!-- --></A><H3>
cwalls</H3>
<PRE>
private java.util.BitSet <A HREF="../../src-html/maze/model/MazeModel.html#line.55"><B>cwalls</B></A></PRE>
<DL>
<DD>Column walls.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="height"><!-- --></A><H3>
height</H3>
<PRE>
private int <A HREF="../../src-html/maze/model/MazeModel.html#line.59"><B>height</B></A></PRE>
<DL>
<DD>Number of rows or height of this maze.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="rwalls"><!-- --></A><H3>
rwalls</H3>
<PRE>
private java.util.BitSet <A HREF="../../src-html/maze/model/MazeModel.html#line.63"><B>rwalls</B></A></PRE>
<DL>
<DD>Row walls.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="width"><!-- --></A><H3>
width</H3>
<PRE>
private int <A HREF="../../src-html/maze/model/MazeModel.html#line.67"><B>width</B></A></PRE>
<DL>
<DD>Number of columns or width of this maze.
<P>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="MazeModel()"><!-- --></A><H3>
MazeModel</H3>
<PRE>
public <A HREF="../../src-html/maze/model/MazeModel.html#line.72"><B>MazeModel</B></A>()</PRE>
<DL>
<DD>Create a maze with the default size.
<P>
</DL>
<HR>

<A NAME="MazeModel(int, int)"><!-- --></A><H3>
MazeModel</H3>
<PRE>
public <A HREF="../../src-html/maze/model/MazeModel.html#line.82"><B>MazeModel</B></A>(int&nbsp;width,
                 int&nbsp;height)</PRE>
<DL>
<DD>Construct a new maze model with the given dimensions.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>width</CODE> - The width or number of columns of the new maze.<DD><CODE>height</CODE> - The height or number of rows of the new maze.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="clearCenterWalls()"><!-- --></A><H3>
clearCenterWalls</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.96"><B>clearCenterWalls</B></A>()</PRE>
<DL>
<DD>Clears the 4 walls around the center peg as is required by the rules for a
 legal maze. After calling this a call to <A HREF="../../maze/model/MazeModel.html#isCenterLegal()"><CODE>isCenterLegal()</CODE></A> should
 return true.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearMaze()"><!-- --></A><H3>
clearMaze</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.109"><B>clearMaze</B></A>()</PRE>
<DL>
<DD>Clear all the walls of the maze and set the default corner wall.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearWall(int, int, int)"><!-- --></A><H3>
clearWall</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.122"><B>clearWall</B></A>(int&nbsp;x,
                      int&nbsp;y,
                      int&nbsp;dir)</PRE>
<DL>
<DD>Clear/disable a wall segment.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>x</CODE> - <DD><CODE>y</CODE> - <DD><CODE>dir</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public <A HREF="../../maze/model/MazeModel.html" title="class in maze.model">MazeModel</A> <A HREF="../../src-html/maze/model/MazeModel.html#line.163"><B>clone</B></A>()</PRE>
<DL>
<DD>Make a deep copy of this maze model.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="generateRandomMaze()"><!-- --></A><H3>
generateRandomMaze</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.181"><B>generateRandomMaze</B></A>()</PRE>
<DL>
<DD>Randomizes all the walls of this maze.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSize()"><!-- --></A><H3>
getSize</H3>
<PRE>
public java.awt.Dimension <A HREF="../../src-html/maze/model/MazeModel.html#line.215"><B>getSize</B></A>()</PRE>
<DL>
<DD>Get the size or dimension of this maze in columns by rows.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The current size of this maze model.</DL>
</DD>
</DL>
<HR>

<A NAME="getStartingCell()"><!-- --></A><H3>
getStartingCell</H3>
<PRE>
public <A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A> <A HREF="../../src-html/maze/model/MazeModel.html#line.225"><B>getStartingCell</B></A>()</PRE>
<DL>
<DD>Get the location of where the robot starts in the maze. Using this instead
 of the hard coded location allows it to be changed in the future.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>Starting cell location.</DL>
</DD>
</DL>
<HR>

<A NAME="getWall(int, int, int)"><!-- --></A><H3>
getWall</H3>
<PRE>
public boolean <A HREF="../../src-html/maze/model/MazeModel.html#line.237"><B>getWall</B></A>(int&nbsp;x,
                       int&nbsp;y,
                       int&nbsp;dir)</PRE>
<DL>
<DD>Is the wall set/enabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>x</CODE> - <DD><CODE>y</CODE> - <DD><CODE>dir</CODE> - Direction of the wall from the cell center.
<DT><B>Returns:</B><DD>true if the wall is set.</DL>
</DD>
</DL>
<HR>

<A NAME="getWall(maze.model.MazeCell, maze.model.Direction)"><!-- --></A><H3>
getWall</H3>
<PRE>
public <A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model">MazeModel.MazeWall</A> <A HREF="../../src-html/maze/model/MazeModel.html#line.269"><B>getWall</B></A>(<A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A>&nbsp;cell,
                                  <A HREF="../../maze/model/Direction.html" title="enum in maze.model">Direction</A>&nbsp;direction)</PRE>
<DL>
<DD>Get an object that can then be checked or changed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>cell</CODE> - The cell containing the wall you want.<DD><CODE>direction</CODE> - The direction of the wall you want from within the given
           cell.
<DT><B>Returns:</B><DD>A <code>MazeWall</code> of the specified location.</DL>
</DD>
</DL>
<HR>

<A NAME="getWinningBorderWalls()"><!-- --></A><H3>
getWinningBorderWalls</H3>
<PRE>
private java.util.List&lt;<A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model">MazeModel.MazeWall</A>&gt; <A HREF="../../src-html/maze/model/MazeModel.html#line.294"><B>getWinningBorderWalls</B></A>()</PRE>
<DL>
<DD>Get the line of walls that surround the center.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A list of walls.</DL>
</DD>
</DL>
<HR>

<A NAME="getWinningCells()"><!-- --></A><H3>
getWinningCells</H3>
<PRE>
public <A HREF="../../maze/model/MazeCell.html" title="class in maze.model">MazeCell</A>[] <A HREF="../../src-html/maze/model/MazeModel.html#line.319"><B>getWinningCells</B></A>()</PRE>
<DL>
<DD>Gets the maze cells that make up the winning center of the maze. This
 method should be used to allow the location of the winning cells to be
 changed later.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>An array of the winning cell locations in order.</DL>
</DD>
</DL>
<HR>

<A NAME="illegalPegs()"><!-- --></A><H3>
illegalPegs</H3>
<PRE>
public java.util.Set&lt;<A HREF="../../maze/model/MazeCellPeg.html" title="class in maze.model">MazeCellPeg</A>&gt; <A HREF="../../src-html/maze/model/MazeModel.html#line.343"><B>illegalPegs</B></A>()</PRE>
<DL>
<DD>This function is basically isLegal with the added capability of returning
 the peg locations that are bad.<br />
 There are rules that must be upheld to be a valid maze.<br />
 Rule 1: There is a wall next to the starting square.<br />
 Rule 2: There is one and only one way into the center of the maze.<br />
 Even though I've coded this to accept a variable size in the future I
 shall still assume here that the total size will always be even.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A <code>set</code> of points where each point represents an
         illegal peg.</DL>
</DD>
</DL>
<HR>

<A NAME="isCenterLegal()"><!-- --></A><H3>
isCenterLegal</H3>
<PRE>
public boolean <A HREF="../../src-html/maze/model/MazeModel.html#line.384"><B>isCenterLegal</B></A>()</PRE>
<DL>
<DD>Is the peg in the center of the maze legal.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if the center peg does not have any walls touching it.</DL>
</DD>
</DL>
<HR>

<A NAME="isCenterOpen()"><!-- --></A><H3>
isCenterOpen</H3>
<PRE>
public boolean <A HREF="../../src-html/maze/model/MazeModel.html#line.400"><B>isCenterOpen</B></A>()</PRE>
<DL>
<DD>Is there a way in to the maze center.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if the center of the maze has one and only one way in.</DL>
</DD>
</DL>
<HR>

<A NAME="isLegal()"><!-- --></A><H3>
isLegal</H3>
<PRE>
public boolean <A HREF="../../src-html/maze/model/MazeModel.html#line.416"><B>isLegal</B></A>()</PRE>
<DL>
<DD>Is this a legal maze. Does not check if there is a clear path from the
 start to the center.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if all the pegs in the maze are legal.</DL>
</DD>
</DL>
<HR>

<A NAME="isPegLegal(int, int)"><!-- --></A><H3>
isPegLegal</H3>
<PRE>
public boolean <A HREF="../../src-html/maze/model/MazeModel.html#line.454"><B>isPegLegal</B></A>(int&nbsp;x,
                          int&nbsp;y)</PRE>
<DL>
<DD>The peg is legal if at least one wall is attached to it. The North-West
 peg of the given Maze Cell is checked.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>x</CODE> - The Cell X coordinate.<DD><CODE>y</CODE> - The Cell Y coordinate.
<DT><B>Returns:</B><DD>true if the peg has at least one wall touching it.</DL>
</DD>
</DL>
<HR>

<A NAME="loadMaze(java.io.InputStream, boolean)"><!-- --></A><H3>
loadMaze</H3>
<PRE>
public java.lang.String <A HREF="../../src-html/maze/model/MazeModel.html#line.501"><B>loadMaze</B></A>(java.io.InputStream&nbsp;in,
                                 boolean&nbsp;extended)
                          throws java.io.IOException</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="loadMaze(java.lang.String)"><!-- --></A><H3>
loadMaze</H3>
<PRE>
public java.lang.String <A HREF="../../src-html/maze/model/MazeModel.html#line.573"><B>loadMaze</B></A>(java.lang.String&nbsp;filename)
                          throws java.io.FileNotFoundException,
                                 java.io.IOException</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.io.FileNotFoundException</CODE>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="saveMaze(java.lang.String, java.lang.String)"><!-- --></A><H3>
saveMaze</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.589"><B>saveMaze</B></A>(java.lang.String&nbsp;filename,
                     java.lang.String&nbsp;name)
              throws java.io.IOException</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setAllWalls()"><!-- --></A><H3>
setAllWalls</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.685"><B>setAllWalls</B></A>()</PRE>
<DL>
<DD>Set/Enable every wall in the maze.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSize(java.awt.Dimension)"><!-- --></A><H3>
setSize</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.697"><B>setSize</B></A>(java.awt.Dimension&nbsp;size)</PRE>
<DL>
<DD>Set the size dimensions of this maze. The maze dimensions must always be
 even numbers.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>size</CODE> - The new number of rows and columns that make up the size of
           this maze.</DL>
</DD>
</DL>
<HR>

<A NAME="setWall(int, int, int)"><!-- --></A><H3>
setWall</H3>
<PRE>
public void <A HREF="../../src-html/maze/model/MazeModel.html#line.705"><B>setWall</B></A>(int&nbsp;x,
                    int&nbsp;y,
                    int&nbsp;dir)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MazeModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../maze/model/MazeInfoModel.html" title="class in maze.model"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../maze/model/MazeModel.MazeWall.html" title="interface in maze.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../index.html?maze/model/MazeModel.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="MazeModel.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
